Repository navigation
Keep --status read-only by not restoring preferences for it - #35
Merged
Merged
Conversation
RunAsync restored persisted toggles, running each setter, before handling --status, and then returned without calling OnStop. A plain status query on a desktop session could take a resource such as a sleep inhibitor and never release it, and it reported the remembered state rather than the live one. Preferences are now restored only when the run is not --status. Fixes #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SwBwi3NknT7dGVuSEED1DX
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Fixes #16
What changed
TrayAppBuilder.RunAsyncnow restores preferences only whenuseTray && !options.ShowStatus.--statusrun on a machine with a desktop session called every persisted toggle's setter.OnStop, so anything a setter acquired (a sleep inhibitor, for example) was never released.CLAUDE.md's description of the run order now notes that--statusskips the restore.Tests
RunAsync_WithStatusAndARememberedToggle_RunsNoSetterAndReportsTheLiveState:awake = trueand runs--tray --status.false).mainwithsetterCalls == 1; I checked this by reverting the condition.🤖 Generated with Claude Code
https://claude.ai/code/session_01SwBwi3NknT7dGVuSEED1DX
Generated by Claude Code